home *** CD-ROM | disk | FTP | other *** search
- (*===========================================================================*)
- (* Monitor NETROM nodes broadcast *)
- (* *)
- (* Copyright 1988, 1989, 1992 by H. Roy Engehausen. All rights reserved. *)
- (* *)
- (*===========================================================================*)
-
- (*===========================================================================*)
- (* Monitor NETROM nodes broadcast *)
- (*===========================================================================*)
-
- PROCEDURE do_nodes_bcst;
-
- TYPE
- nr_node_data_type = RECORD
- node_call : ax25_call;
- node_name : ARRAY[1..6] OF CHAR;
- neighbor : ax25_call;
- quality : BYTE;
- END;
-
- VAR
- i : BYTE;
- nr_node_data : ^nr_node_data_type;
- s_str : STRING[10];
- t_str : STRING[50];
-
- BEGIN;
-
- IF in_ptr^.long_data[in_off] <> #$FF THEN
- EXIT;
-
- t := in_ptr^;
-
- WITH in_ptr^ DO
- BEGIN;
- str_data := 'Node broadcast from ';
- long_length := LENGTH(str_data);
- END;
-
- l_cat(in_ptr, l_substr(@t, in_off + 1, 6));
- s_str := cr;
- l_cat_str(in_ptr, s_str);
-
- monitor_window_write(in_ptr, TRUE, opt_block.opt_mon_time_stamp);
-
- WITH in_ptr^ DO
- BEGIN;
- str_data := '';
- long_length := 0;
- END;
-
- in_off := in_off + 7;
-
- i := 0;
- out_string := '';
-
- WITH in_ptr^ DO
- WHILE (in_off < t.long_length) DO
- BEGIN;
-
- IF i = 2 THEN
- BEGIN;
-
- out_string := strip(out_string, 'T') + cr;
- l_cat_str(in_ptr, out_string);
-
- monitor_window_write(in_ptr, FALSE, FALSE);
-
- long_length := 0;
- str_data := '';
- i := 0;
- out_string := '';
-
- END;
-
- INC(i);
-
- nr_node_data := @t.long_data[in_off];
-
- WITH nr_node_data^ DO
- BEGIN;
- s_str := move_array_to_str(@node_name, SIZEOF(node_name));
- t_str := ax25_call_to_string(@node_call);
- IF s_str <> '' THEN
- t_str := s_str + '(' + t_str + ')';
-
- STR(quality, s_str);
- t_str := t_str + '->'
- + ax25_call_to_string(@neighbor)
- + ':' + s_str;
- out_string := out_string + LEFT(t_str, 35);
- END;
-
- in_off := in_off + SIZEOF(nr_node_data_type);
-
- END;
-
- IF out_string <> '' THEN
- l_cat_str(in_ptr, out_string);
-
- (* Orphan fix *)
-
- monitor_window_write(in_ptr, FALSE, FALSE);
-
- END;